// Problem: 
// Contest: 
// URL: 
// Memory Limit: 
// Time Limit: 
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("unroll-loops")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read(){
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
	while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
	return s*w;
}
vector<int> v;
int l=0,r=0,ans=0,minm=INT_MAX;
void dfs(int f)
{
	if(f>=v.size())
	{
		minm=min(minm,max(l,r));
		return;
	}
	l+=v[f];
	dfs(f+1);
	l-=v[f];
	r+=v[f];
	dfs(f+1);
	r-=v[f];
}
signed main()
{
	int s[4];
	cin>>s[0]>>s[1]>>s[2]>>s[3];
	int ans=0;
	for(int j=0;j<4;j++)
	{
		v=vector<int>(s[j]);
		for(int i=0;i<s[j];i++)
		{
			cin>>v[i];
		}
		dfs(0);
		ans+=minm;
		minm=INT_MAX;
	}
	cout<<ans;
	return 0;
}
